package com.rkc.config;

import com.rkc.interceptor.LoginInterceptor;
import feign.RequestInterceptor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import javax.servlet.http.HttpServletRequest;

/**
 * @author `RKC`
 * @date 2021/10/17 16:41
 */
@Slf4j
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(loginInterceptor()).addPathPatterns("/api/user/*/**", "/api/address/*/**")
                .excludePathPatterns("/api/user/*/send_code", "/api/user/*/captcha", "/api/user/*/register",
                        "/api/user/*/login", "/api/user/*/upload");
    }

    public LoginInterceptor loginInterceptor() {
        return new LoginInterceptor();
    }
}
